<?php

interface strategy
{
    public function cacl(Order $order);
}

class cash implements strategy
{
    public function cacl(Order $order)
    {
        $orderItem = $order->getItem();
        $price = 0;
        foreach ($orderItem as $val) {

        }
        return $price;
    }
}

class score implements strategy
{
    public function cacl(Order $order)
    {
        $orderItem = $order->getItem();
        $price = 0;
        foreach ($orderItem as $val) {
            $this->scoreTomoney();
        }
        return $price;
    }

    public function scoreTomoney()
    {

    }
}

abstract class wxPay
{
    public function payParam(Order)
    {

    }
}


interface pay
{
    public function payOrder(Order $order);
}

class wxOrderPay extends wxPay implements pay
{
    public function payOrder(Order $order)
    {

    }
}
